﻿using Abp;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Mt.Site.Core.Organizations.Posts
{
    public interface IPostManager
    {
        Task CreateOrUpdateAsync(Post post, IList<long> unitIds, IList<long> userIds);

        Task DeleteAsync(Post post);

        Task DeleteAsync(long postId);

        Task<List<Post>> GetAllListAsync(long unitId);

        Task<List<long>> GetPostOrganizationListAsync(long postId);

        Task<List<long>> GetPostUserListAsync(long postId);

        IQueryable<Post> Post { get; }
        IQueryable<PostOrganization> PostOrganizationUnit { get; }

        List<NameValue<int>> GetRoles();
    }
}
